package cn.wolfcode.car.business.service;

import cn.wolfcode.car.business.domain.Appointment;
import cn.wolfcode.car.business.query.AppointmentQuery;
import cn.wolfcode.car.common.base.page.TablePageInfo;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @Author WaveHi
 * @Date 14/11/2021 上午 11:08
 * @Version 1.0
 * @Contact HJBWaveHi@163.com
 * @Description
 */
public interface AppointmentService extends IService<Appointment> {

    Appointment getAppointment(Long id);

    Boolean update(Appointment appointment);

    Boolean add(Appointment appointment);

    TablePageInfo<Appointment> getPartOfAppointments(AppointmentQuery appointmentQuery);

    TablePageInfo<Appointment> getPartOfAppointments(Integer pageNo, Integer pageSize,AppointmentQuery appointmentQuery);

    Boolean cancel(Long id);

    Boolean delete(Long id);

    Boolean  deleteBatch(Long[] ids);

    Boolean  arrival(Long id);

    Long generateStatement(Long appointmentId);
}
